Method and apparatus for handling out-of-order packets during handover in a wireless communication system

ABSTRACT

Techniques for sending packets and maintaining synchronization during handover is described. A user equipment (UE) may be handed over from a source base station to a target base station. The source base station may forward packets for the UE to the target base station, which may receive the packets out of order. In one design, the target base station may determine whether each packet can be sent in order to the UE, send the packet if it can be sent in order, and discard the packet otherwise. In another design, the target base station may re-order packets received within a re-ordering window and may send the re-ordered packets to the UE. In yet another design, the target base station may process each packet received out of order as if the packet is in order, e.g., by incrementing a hyper-frame number (HFN) or re-assigning the packet with a later sequence number.

The present application claims priority to provisional U.S. applicationSer. No. 60/990,589, filed Nov. 27, 2007, and provisional U.S.Application Ser. No. 60/990,906, filed Nov. 28, 2007, both entitled“METHODS AND APPARATUSES FOR MAINTAINING HYPER FRAME NUMBERSYNCHORNIZATION BETWEEN A TARGET ACCESS POINT AND USER EQUIPMENT ATHANDOVER,” assigned to the assignee hereof and incorporated herein byreference.

BACKGROUND

I. Field

The present disclosure relates generally to communication, and morespecifically to techniques for transmitting packets in a wirelesscommunication system.

II. Background

Wireless communication systems are widely deployed to provide variouscommunication content such as voice, video, packet data, messaging,broadcast, etc. These wireless systems may be multiple-access systemscapable of supporting multiple users by sharing the available systemresources. Examples of such multiple-access systems include CodeDivision Multiple Access (CDMA) systems, Time Division Multiple Access(TDMA) systems, Frequency Division Multiple Access (FDMA) systems,Orthogonal FDMA (OFDMA) systems, and Single-Carrier FDMA (SC-FDMA)systems.

A wireless communication system may include a number of base stationsthat can support communication for a number of user equipments (UEs). AUE may be mobile and may be handed over from a source base station to atarget base station when the UE moves about the system. During handover,the source base station may have packets of data that has not beensuccessfully sent to the UE. It may be desirable to properly send thesepackets to the UE during handover.

SUMMARY

Techniques for sending packets and maintaining synchronization duringhandover is described herein. A UE may be handed over from a source basestation to a target base station. The source base station may havepackets for the UE and may forward these packets to the target basestation. The target base station may receive the packets out of order,e.g., due to the packet-switched nature of the interface between thesource and target base stations. If the target base station sends thepackets out of order to the UE, then loss of synchronization may occurand/or the UE may be unable to recover the packets.

In one design, the target base station may determine whether each packetforwarded by the source base station can be sent in order to the UE.Each packet may have a sequence number that may be used to determine itsorder. The target base station may determine whether each forwardedpacket can be sent in order to the UE based on the sequence number ofthat packet and the sequence number of the last packet sent to the UE.The target base station may send each packet that can be sent in orderand may discard the packet otherwise. Radio resources may be saved bynot sending packets that would be discarded by the UE.

In another design, the target base station may re-order packets receivedfrom the source base station within a re-ordering window and may sendthe re-ordered packets to the UE. The target base station may start atimer upon receiving the first packet from the source base station. Thetarget base station may buffer the first packet if it is received out oforder. The target base station may also buffer all subsequent packetsreceived out of order from the source base station prior to expirationof the timer. The target base station may re-order and send the bufferedpackets after expiration of the timer. The re-ordering window may covera period of time or a range of sequence numbers.

In yet another design, the target base station may receive a packet outof order from the source base station and may process the packet as ifit is in order. The target base station may increment a hyper-framenumber (HFN) due to the out-of-order packet and may cipher the packetwith a count comprising the incremented HFN and the sequence number ofthe packet. Alternatively, target base station may re-assign the packetwith a sequence number that is later than the sequence number of thelast sent packet. In either case, the UE can correctly decipher thepacket and avoid loss of synchronization. Upper layers at the UE mayperform re-ordering of packets.

The techniques described herein may be used for packets forwarded fromthe source base station to the target base station during handover ofthe UE, as described above. In general, the techniques may be used forpackets sent from a first entity (e.g., a source base station or aserving gateway) to a second entity (e.g., another base station) fortransmission to a third entity (e.g., a UE). The packets may havesequence numbers and may be received out of order by the second entity.The second entity may process the packets using any of the designsdescribed above.

Various aspects and features of the disclosure are described in furtherdetail below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a wireless communication system.

FIG. 2 shows example protocol stacks for different entities in thesystem.

FIG. 3 shows an example call flow for handover.

FIG. 4 shows data transmission and data forwarding during handover.

FIG. 5A shows ciphering at a transmitting entity.

FIG. 5B shows deciphering at a receiving entity.

FIG. 6A shows a COUNT parameter used for ciphering and deciphering.

FIG. 6B shows a sequence number space.

FIG. 7 shows a process for sending packets with packet discarding.

FIG. 8 shows an apparatus for sending packets with packet discarding.

FIG. 9 shows a process for sending packets with re-ordering.

FIG. 10 shows an apparatus for sending packets with re-ordering.

FIG. 11 shows a process for sending packets with forced ordering.

FIG. 12 shows an apparatus for sending packets with forced ordering.

FIG. 13 shows a process for receiving packets.

FIG. 14 shows an apparatus for receiving packets.

FIG. 15 shows a block diagram of a UE and two base stations.

DETAILED DESCRIPTION

The techniques described herein may be used for various wirelesscommunication systems such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA and othersystems. The terms “system” and “network” are often usedinterchangeably. A CDMA system may implement a radio technology such asUniversal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includesWideband CDMA (WCDMA) and other variants of CDMA. cdma2000 coversIS-2000, IS-95 and IS-856 standards. A TDMA system may implement a radiotechnology such as Global System for Mobile Communications (GSM). AnOFDMA system may implement a radio technology such as Evolved UTRA(E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16(WiMAX), IEEE 802.20, Flash-OFDM®, etc. 3GPP Long Term Evolution (LTE)utilizes an air interface defined by E-UTRA and a network architecturedefined by E-UTRAN. E-UTRA employs OFDMA on the downlink and SC-FDMA onthe uplink. UTRA, E-UTRA, E-UTRAN, LTE and GSM are described indocuments from an organization named “3rd Generation PartnershipProject” (3GPP). cdma2000 and UMB are described in documents from anorganization named “3rd Generation Partnership Project 2” (3GPP2). Forclarity, certain aspects of the techniques are described below for LTE,and LTE terminology is used in much of the description below.

FIG. 1 shows a wireless communication system 100, which may be an LTEsystem. System 100 may include evolved Node Bs (eNBs) and other networkentities described by 3GPP. For simplicity, only two eNBs 120 and 122and one Mobility Management Entity (MME)/serving gateway 130 are shownin FIG. 1. An eNB may be a fixed station that communicates with the UEsand may also be referred to as a Node B, a base station, an accesspoint, etc. Each eNB may provide communication coverage for a particulargeographic area. To improve system capacity, the overall coverage areaof an eNB may be partitioned into multiple (e.g., three) smaller areas.Each smaller area may be served by a respective eNB subsystem. In 3GPP,the term “cell” can refer to the smallest coverage area of an eNB and/oran eNB subsystem serving this coverage area. eNBs 120 and 122 maycommunicate with each other via an X2 interface, which may be a logicalor physical interface. eNBs 120 and 122 may also communicate withMME/serving gateway 130 via an S1 interface.

Serving gateway 130 may support data services such as packet data,Voice-over-Internet Protocol (VoIP), video, messaging, etc. MME 130 maybe responsible for path switching between a source eNB and a target eNBat handover. MME/serving gateway 130 may couple to a core and/or datanetwork 140 (e.g., the Internet) and may communicate with other entities(e.g., remote servers and terminals) that couple to core/data network140.

A UE 110 may communicate with eNB 120 and/or eNB 122 via the downlinkand uplink. The downlink (or forward link) refers to the communicationlink from an eNB to a UE, and the uplink (or reverse link) refers to thecommunication link from the UE to the eNB. UE 110 may also be referredto as a mobile station, a terminal, an access terminal, a subscriberunit, a station, etc. UE 110 may be a cellular phone, a personal digitalassistant (PDA), a wireless modem, a wireless communication device, ahandheld device, a laptop computer, a cordless phone, a wireless localloop (WLL) station, etc.

FIG. 2 shows example protocol stacks 200 for a user plane in LTE. Theuser plane carries traffic data between UE 110 and serving gateway 130via a serving eNB, which may be eNB 120 or 122 in FIG. 1. Each entitymaintains a protocol stack for communication with another entity. Eachprotocol stack typically includes a network layer (Layer 3 or L3), alink layer (Layer 2 or L2), and a physical layer (Layer 1, L1 or PHY).The UE and the serving gateway may exchange data using IP at the networklayer. Upper layer data for Transmission Control Protocol (TCP), UserDatagram Protocol (UDP), Real-time Transport Protocol (RTP), and/orother protocols may be encapsulated in IP packets, which may beexchanged between the UE and the serving gateway via the serving eNB.

The link layer is typically dependent on network/radio technology. Forthe user plane in LTE, the link layer for the UE is composed of threesublayers for Packet Data Convergence Protocol (PDCP), Radio LinkControl (RLC), and Medium Access Control (MAC), which are terminated atthe serving eNB. The UE further communicates with the serving eNB viaE-UTRA air-link interface at the physical layer. The serving eNB maycommunicate with the serving gateway via IP and a technology-dependentinterface for the link and physical layers.

PDCP may perform various functions such as compression of upper layerprotocol headers, ciphering/encryption and integrity protection of datafor security, etc. RLC may perform various functions such as (i)segmentation and concatenation of RLC service data units (SDUs) anderror correction through Automatic Repeat reQuest (ARQ) at a transmitterand (ii) duplicate detection of lower layer SDUs, re-ordering of RLCSDUs, and in-order delivery of upper layer protocol data units (PDUs) ata receiver. The functions performed by PDCP and RLC in LTE may beprovided by equivalent protocols in other radio technologies. Forexample, an IP adaptation layer and a Radio Link Protocol (RLP) incdma2000 may perform functions similar to those performed by PDCP andRLC, respectively.

PDCP is described in 3GPP TS 36.323, entitled “Evolved UniversalTerrestrial Radio Access (E-UTRA); Packet Data Convergence Protocol(PDCP) Specification.” RLC is described in 3GPP TS 36.322, entitled“Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Link Control(RLC) Protocol Specification.” These documents are publicly available.

Referring back to FIG. 1, UE 110 may initially communicate with eNB 120for data exchanges with MME/serving gateway 130. UE 110 may be mobileand may be handed over from eNB 120 to eNB 122. For the handover, eNB120 may be referred to as a source eNB, and eNB 122 may be referred toas a target eNB. After the handover, UE 110 may communicate with eNB 122for data exchanges with MME/serving gateway 130. eNB 120 may be aserving eNB for UE 110 prior to the handover, and eNB 122 may be theserving eNB for UE 110 after the handover.

In the description herein, a handover or handoff may refer to a handover from one eNB to another eNB as well as a hand over betweendifferent cells of the same eNB. A handover may be initiated by thesystem or a UE. The UE may initiate a handover in accordance with aforward handover procedure or may re-establish a radio connection withan appropriate eNB after experiencing outage. Furthermore, a handovermay occur in order to support mobility of users in the system, toprovide load balancing, to facilitate reconfigurations of radioconnection, to facilitate handling of unforeseeable error cases, etc.The system may also initiate a handover for any of the reasons mentionedabove.

FIG. 3 shows an example call flow 300 for handover of UE 110 from sourceeNB 120 to target eNB 122. The source eNB may configure measurementprocedures for the UE (step 1), and the UE may send measurement reportsto the source eNB (step 2). The source eNB may make a decision tohandover (HO) the UE (step 3) and may issue a Handover Request messageto the target eNB (step 4). The target eNB may perform admission controland may accept handover of the UE (step 5). The target eNB may return aHandover Request Acknowledgement (Ack) message to the source eNB (step6). The source eNB may then send a Handover Command message to the UE(step 7).

Prior to handover, the source eNB may receive packets for the UE fromthe serving gateway (step A) and may send the packets to the UE (stepB). After sending the Handover Command message in step 7, the source eNBmay forward buffered packets for the UE to the target eNB (steps C andD). The forwarded packets may include packets that have not been sent tothe UE as well as packets that are in transit, e.g., packets sent butnot successfully received by the UE. The target eNB may buffer thepackets received from the source eNB (step E).

Upon receiving the Handover Command message in step 7, the UE may detachfrom the source eNB, perform synchronization to the target eNB, andstart acquiring uplink timing advance (step 8). The target eNB mayrespond with resource allocation and timing advance (TA) for the UE(step 9). Once the UE has successfully accessed the target eNB, the UEmay send a Handover Confirm message to the target eNB to indicate thatthe handover procedure is completed for the UE (step 10).

The target eNB may send a Handover Complete message to inform theMME/serving gateway that the UE has changed eNB (step 11). TheMME/serving gateway may then switch the data path or connection for theUE from the source eNB to the target eNB (step G). The MME/servinggateway may also return a Handover Complete Ack message to the targeteNB (step 12). The target eNB may send a Release Resource message to thesource eNB to indicate successful handover of the UE (step 13). Thesource eNB may release resources for the UE upon receiving the ReleaseResource message.

Prior to receiving the Handover Complete message in step 11, the servinggateway may continue to send packets for the UE to the source eNB (stepF). The source eNB may continue to forward packets for the UE to thetarget eNB (step H). After receiving the Handover Complete message instep 11, the serving gateway may send packets for the UE to the targeteNB (step 13. The target eNB may send the packets forwarded from thesource eNB and the packets received from the serving gateway to the UE(step J).

FIG. 3 shows an example call flow for handover of the UE from the sourceeNB to the target eNB. Handover of the UE may also be performed withother call flows.

FIG. 4 shows an example of data transmission and data forwarding duringhandover. Prior to the handover, the serving gateway may send packetsfor the UE to the source eNB via the S1 interface (steps A and F in FIG.3). The source eNB may receive the packets as PDCP SDUs and may assign aPDCP sequence number (SN) to each PDCP SDU. In the description herein,PDCP SDU #k denotes a PDCP SDU with a PDCP SN of k. The source eNB mayprocess and send each PDCP SDU to the UE (step B in FIG. 3).

At some point during the handover, the data path for the UE may beswitched from the source eNB to the target eNB (step G in FIG. 3). Fromthis point onward, the serving gateway may send new packets for the UEto the target eNB via the S1 interface (step 1 in FIG. 3). The targeteNB may receive the packets as PDCP SDUs, and may assign a PDCP SN toeach PDCP SDU. The target eNB may process and send each PDCP SDU to theUE (step J in FIG. 3).

During handover, the source eNB may have (i) pending PDCP SDUs that havenot yet been sent to the UE and/or (ii) in-transit PDCP SDUs that havebeen sent to the UE but not correctly decoded by the UE. The source eNBmay forward the pending and in-transit PDCP SDUs to the target eNB viathe X2 interface (steps D and H in FIG. 3). The target eNB may receivethe forwarded PDCP SDUs out of order, e.g., due to the packet-switchednature of the X2 interface. The serving gateway may send new packets inorder to the target eNB. The target eNB may also receive the new packetsout of order, e.g., due to the packet-switched nature of the S1interface.

In the example shown in FIG. 4, the PDCP SDUs may be ordered such thatPDCP SDU #1 is the earliest PDCP SDU and PDCP SDU #4 is the latest PDCPSDU. The source eNB may send PDCP SDUs #1 through #4 in order to the UE.The UE may decode PDCP SDU #1 correctly, decode PDCP SDUs #2 and #3 inerror, and decode PDCP SDU #4 correctly. The UE may correctly decodePDCP SDU #4, but not PDCP SDUs #2 and #3, due to early HARQ terminationof PDCP SDU #4. The source eNB may forward PDCP SDUs #2 and #3 to thetarget eNB. The target eNB may receive PDCP SDU #3 before PDCP SDU #2.The target eNB may then send PDCP SDU #2 and/or PDCP SDU #3 to the UEprior to the new packets from the serving gateway.

FIG. 5A shows ciphering of a PDCP SDU at a transmitting entity, whichmay be the serving eNB for downlink transmission or the UE for uplinktransmission. A unit 510 may receive parameters such as KEY, COUNT,BEARER and DIRECTION. The KEY parameter may comprise a cipher key usedfor ciphering data. The COUNT parameter may be a crypto-sync that mayact as a time-variant input for a ciphering algorithm. The BEARERparameter may indicate a radio bearer of the data being ciphered. TheDIRECTION parameter may comprise a bit that may be set to ‘0’ for uplinktransmission or to ‘1’ for downlink transmission. Unit 510 may generatea keystream based on all of the parameters and in accordance with theciphering algorithm defined by LTE. An exclusive-OR gate 512 may performbit-wise modulo-2 addition of the keystream bits from unit 510 and inputdata bits for a PDCP SDU and may provide ciphered data bits for the PDCPSDU.

FIG. 5B shows deciphering of a PDCP SDU at a receiving entity, which maybe the UE for downlink transmission or the serving eNB for uplinktransmission. A unit 550 may receive the KEY, COUNT, BEARER andDIRECTION parameters. Unit 550 may generate a keystream based on all ofthe parameters and in the same manner as unit 510 at the transmittingentity. An exclusive-OR gate 552 may perform bit-wise modulo-2 additionof the keystream bits from unit 550 and the ciphered data bits for aPDCP SDU and may provide deciphered data bits for the PDCP SDU.

FIG. 6A shows a design of the COUNT parameter in LTE. The COUNT is a32-bit value composed of an M-bit HFN and an N-bit PDCP SN, where M andN may be configurable values. The HFN occupies the M most significantbits (MSBs) of the COUNT, and the PDCP SN occupies the N leastsignificant bits (LSBs) of the COUNT. In one configuration, the 32-bitCOUNT is composed of a 20-bit HFN and a 12-bit PDCP SN. In anotherconfiguration, the 32-bit COUNT is composed of a 25-bit HFN and a 7-bitPDCP SN. For both configurations, the PDCP SN is sent over the air witheach PDCP SDU. The HFN is not sent over the air in order to reduceoverhead.

FIG. 6B shows a PDCP SN space, which may cover a range of 0 to K, whereK=2^(N)−1. For example, K may be equal to 127 for a 7-bit PDCP SN orequal to 4095 for a 12-bit PDCP SN. A PDCP SDU may have a PDCP SN of k,which may be within the range of 0 to K. The PDCP SN may be incrementedfor each new PDCP SDU until it reaches the maximum value of K and maythen wrap around to 0.

For a PDCP SN of k, a portion of the PDCP SN space may be considered asbeing “later” than k, and the remaining portion of the PDCP SN space maybe considered as being “earlier” than k. For example, PDCP SNs of k+1 toL may be considered as being later than PDCP SN of k, and PDCP SNs ofL+1 to k−1 may be considered as being earlier than PDCP SN of k, asshown in FIG. 6B. L may be defined as L=(k+K/2) mod K, so that half ofthe PDCP SN space is later than k, and the other half of the PDCP SNspace is earlier than k. L may also be defined in other manners.

As also shown in FIG. 6B, PDCP SNs of 0 through k−1 may be considered asbeing “smaller” than k. PDCP SNs of k+1 to K may be considered as being“larger” than k.

The UE may access eNB 120 and may establish radio bearers forcommunication with the eNB. The UE and the eNB may each reset the COUNTto zero when the radio bearers are established. The eNB may incrementthe PDCP SN whenever a new PDCP SDU is received from the serving gatewayand may increment the HEN whenever the PDCP SN wraps around to zeroafter reaching the maximum value of K. The eNB may send each PDCP SDUand its PDCP SN to the UE. The UE may receive the PDCP SDU from the eNBand may update the HFN based on the PDCP SN.

The UE may be handed over from source eNB 120 to target eNB 122. For thehandover, the source eNB may send pertinent state information, such asthe current HFN and the current PDCP SN, to the target eNB. The targeteNB may assign PDCP SNs to new PDCP SDUs received from the servinggateway starting with the current PDCP SN and HFN received from thesource eNB. The UE may maintain the COUNT through the handover and mayupdate the HFN based on the PDCP SNs of the PDCP SDUs received from thetarget eNB.

The PDCP specification in LTE is written with an assumption that PDCPSDUs with increasing PDCP SNs are passed to lower layer at atransmitting entity. A receiving entity may assume that the lower layerwill deliver PDCP SDUs in the proper order. The receiving entity maythus increment the HFN whenever the PDCP SN of a newly received PDCP SDUis smaller than the PDCP SN of the last received PDCP SDU.

A conventional processing scheme for data transmission on the downlinkbased on the assumptions described above may be as follows. The servingeNB may assign a PDCP SN to each PDCP SDU received from the servinggateway. The eNB may increment the PDCP SN after each PDCP SDU and mayincrement the HFN whenever the PDCP SN wraps around to zero. The eNB maycipher each PDCP SDU with a COUNT formed by the HFN maintained by theeNB and the PDCP SN of that PDCP SDU, as shown in FIG. 5A. The eNB maytransmit each PDCP SDU in the proper order to the UE. The UE may receivethe PDCP SDUs from the eNB in the proper order. The UE may increment theHFN whenever it receives a PDCP SDU with a smaller PDCP SN than that ofthe last PDCP SDU. The UE may decipher each received PDCP SDU with aCOUNT formed by the HFN maintained by the UE and the PDCP SN obtainedfrom the received PDCP SDU.

The conventional processing scheme described above may result in errorsduring handover of the UE from the source eNB to the target eNB. Athandover, the source eNB may forward PDCP SDUs via the X2 (or S1)interface to the target eNB. Because the X2 (or S1) interface is not acircuit-switched interface, the forwarded PDCP SDUs may arrive out oforder at the target eNB, e.g., as shown in FIG. 4. If the target eNBprocesses each forwarded PDCP SDU as it is received from the source eNB,then reception of PDCP SDUs out of order at the target eNB may result indeciphering error and/or loss of HFN synchronous at the UE.

For the example shown in FIG. 4, the target eNB may receive PDCP SDU #3from the source eNB and may cipher this PDCP SDU with a COUNT formed bythe HFN and a PDCP SN of 3. This COUNT may be denoted as (HFN|3). Thetarget eNB may pass the ciphered PDCP SDU #3 to lower layer fortransmission to the UE. The target eNB may thereafter receive PDCP SDU#2 out of order from the source eNB. The target eNB may cipher PDCP SDU#2 with (HFN|2), which is the correct COUNT for this PDCP SDU. However,for the conventional processing scheme described above, the UE mayincrement its HFN when it receives PDCP SDU #2 after receiving PDCP SDU#3. The UE may then decipher PDCP SDU #2 with (HFN+1|2) and woulddecipher the PDCP SDU in error since the target eNB used (HFN|2).Furthermore, the UE would be out of HFN synchronization since it woulduse HFN+1 for deciphering subsequent PDCP SDUs while the target eNBwould continue to use HFN for ciphering. Subsequent PDCP SDUs may thusbe deciphered in error by the UE.

The UE may maintain a duplicate-discard window to avoid getting out ofHFN synchronization. The start of the window may be placed at the lastPDCP SDU delivered to upper layers, and the end of the window may beplaced at the latest PDCP SDU not yet delivered to upper layers. The UEmay use the duplicate-discard window to determine whether to process anddeliver a PDCP SDU to upper layers or to discard the PDCP SDU.

For the example shown in FIG. 4, the UE may correctly decode PDCP SDUs#1 and #4 but not PDCP SDUs #2 and #3. The UE may deliver PDCP SDU #1 toupper layers and may buffer PDCP SDU #4. The UE may then receive PDCPSDU #3 from the target eNB and may correctly decode this PDCP SDU. TheUE may assume that PDCP SDUs are sent in order by the target eNB and mayassume that PDCP SDU #2 is lost. The UE may then deliver PDCP SDUs #3and #4 to upper layers and may move the start of the duplicate-discardwindow to PDCP SDU #4. The UE may thereafter receive PDCP SDU #2 fromthe target eNB. The UE may recognize that this PDCP SDU is outside theduplicate-discard window and may discard the PDCP SDU. The UE maymaintain the HFN instead of incrementing it. This UE processing schememay avoid loss of HFN synchronization. However, radio resources arewasted by sending out-of-order PDCP SDUs that the UE would discard.

Various processing schemes may be used to handle out-of-order packetsand avoid loss of HFN synchronization at the UE. These processingschemes may be used during handover when the target eNB may receiveforwarded PDCP SDUs from the source eNB out of order.

In a first processing scheme, the target eNB may discard PDCP SDUs thatit cannot send in order to the UE. The target eNB may process and sendPDCP SDUs as they are received and does not attempt to re-order thesePDCP SDUs. Instead, if the target eNB receives a forwarded PDCP SDU withan earlier PDCP SN than that of a PDCP SDU that has been sent to the UE,then the target eNB would discard the forwarded PDCP SDU and not send itto the UE. The target eNB may maintain a pointer for the PDCP SN of thelatest PDCP SN sent to the UE. The target eNB may compare the PDCP SN ofa forwarded PDCP SDU against this pointer to determine whether or notthe PDCP SDU can be sent in order to the UE.

For the example shown in FIG. 4, the target eNB may receive PDCP SDU #3from the source eNB, cipher this PDCP SDU with (HFN|3), and send theciphered PDCP SDU to the UE. The target eNB may set the pointer to 3.The target eNB may thereafter receive PDCP SDU #2 from the source eNBand may compare the PDCP SN of 2 against the pointer. The target eNB maydiscard this PDCP SDU since its PDCP SN of 2 is earlier than the PDCP SNof 3 of the transmitted PDCP SDU.

The first processing scheme may simplify operation of the target eNB.This processing scheme may also save radio resources since the targeteNB does not send out-of-order PDCP SDUs that the UE would discard usingthe duplicate-discard window described above.

In a second processing scheme, the target eNB may perform re-ordering offorwarded PDCP SDUs for a short period of time or a small range of PDCPSNs. This short time period or small PDCP SN range may be referred to asa re-ordering window.

For a time-based re-ordering window, the target eNB may use a timer tokeep track of time and may start the timer upon receiving the firstforward PDCP SDU from the source eNB. The target eNB may buffer allforwarded PDCP SDUs received out of order from the source eNB while thetimer is active. When the timer expires, the target eNB may re-order allbuffered PDCP SDUs and may cipher and send each re-ordered PDCP SDU tothe UE. The re-ordering window may be used to receive PDCP SDUs that areearlier than the first forwarded PDCP SDU from the source eNB.

For the example shown in FIG. 4, the target eNB may receive PDCP SDU #3from the source eNB, buffer this PDCP SDU, and start the timer. Thetarget eNB may thereafter receive PDCP SDU #2 from the source eNB andmay also buffer this PDCP SDU. When the timer expires, the target eNBmay re-order PDCP SDUs #2 and #3. The target eNB may then process andsend PDCP SDU #2 and then process and send PDCP SDU #3. Alternatively,upon receiving PDCP SDU #2, the target eNB may re-order, cipher, andsend PDCP SDUs #2 and #3 to the UE, instead of waiting for the timer toexpire. The processing by the target eNB may be dependent on the stateinformation available to the target eNB. In any case, the UE may be ableto receive PDCP SDUs #2 and #3 in order from the target eNB.

In one design, the target eNB may start the timer for only the firstforwarded PDCP SDU from the source eNB. The target eNB may operate inthe same manner as in the first processing scheme after the timerexpires. In this design, if the target eNB thereafter receives aforwarded PDCP SDU that is earlier than a transmitted PDCP SDU, then thetarget eNB may simply discard the forwarded PDCP SDU. For the exampleshown in FIG. 4, if the target eNB receives PDCP SDU #2 after expirationof the timer, then the target eNB may discard this PDCP SDU.

In another design, the target eNB may start the timer for the firstforwarded PDCP SDU and also when a forwarded PDCP SDU with anon-consecutive PDCP SN is received from the source eNB. For example,the target eNB may send PDCP SDU #2 and #3 after expiration of the timerand may thereafter receive PDCP SDU #6 from the source eNB. The targeteNB may then start the timer and wait for PDCP SDU #5 from the sourceeNB.

For a PDCP SN-based re-ordering window, the target eNB may set the endof the window to the last PDCP SDU sent to the UE. The re-orderingwindow may span a predetermined number of PDCP SNs or all pending andin-transit PDCP SDUs. The target eNB may advance the re-ordering windowwhenever a later PDCP SDU is received from the source eNB. The targeteNB may process and send a PDCP SDU at the start of the re-orderingwindow.

For the example shown in FIG. 4, the re-ordering window may cover PDCPSDUs #2 and #3. If the target eNB receives PDCP SDU #2 from the sourceeNB, then the target eNB may process and send this PDCP SDU and advancethe window. If the target eNB receives PDCP SDU #3 from the source eNB,then the target eNB may maintain the window and wait for PDCP SDU #2. Ifthe target eNB receives PDCP SDU #5 from the source eNB, then the targeteNB may advance the window since the likelihood of receiving PDCP SDU #2may be reduced.

For the second processing scheme, the re-ordering window duration may beselected based on a tradeoff between latency and data loss. A widerre-ordering window may ensure that more PDCP SDUs received out of orderfrom the source eNB can be sent to the UE but may also result in alonger delay in sending the PDCP SDUs to the UE. Conversely, a shorterre-ordering window may result in a shorter delay in sending the PDCPSDUs but may also result in more PDCP SDUs being discarded.

In a third processing scheme, the target eNB may update the HFN in thesame manner as the UE in order to avoid loss of HFN synchronization. Forthe conventional processing scheme described above, the UE may assumethat PDCP SDUs are sent in order and may increment the HFN whenever aPDCP SDU with a smaller PDCP SN is received. The target eNB may alsoincrement the HFN whenever a forwarded PDCP SDU with a smaller PDCP SNis received from the source eNB.

For the third processing scheme, the target eNB may process (e.g.,cipher) each forwarded PDCP SDU received from the source eNB and maysend the PDCP SDU to the UE. The target eNB may process and send eachforwarded PDCP SDU as it is received from the source eNB, withoutbuffering the PDCP SDU at the target eNB. The target eNB may incrementthe HFN whenever a forwarded PDCP SDU with a smaller PDCP SN is receivedfrom the source eNB. The target eNB may then cipher the forward PDCP SDUwith the updated HFN.

For the example shown in FIG. 4, the target eNB may receive PDCP SDU #3from the source eNB, cipher this PDCP SDU with (HFN|3), and send theciphered PDCP SDU to the UE. The target eNB may thereafter receive PDCPSDU #2 from the source eNB. The target eNB may increment the HFN inresponse to receiving a smaller PDCP SN and in anticipation of the UEincrementing its HFN. The target eNB may then cipher PDCP SDU #2 with(HFN+1|2) and send the ciphered PDCP SDU to the UE. The UE may incrementits HFN in response to receiving the ciphered PDCP SDU #2 and maydeciphered this PDCP SDU with (HFN+1|2). The UE may be able to correctlydecipher PDCP SDU #2, even though it is sent out of order, due to thetarget eNB updating the HFN in the same manner as the UE. The UE maydeliver the deciphered PDCP SDU #2 out of order to upper layers sincethis PDCP SDU has a COUNT of (HFN+1|2) whereas the deciphered PDCP SDU#3 has a COUNT of (HFN|3).

It may be desirable for the UE to deliver PDCP SDUs out of order toupper layers instead of discarding these PDCP SDUs. The upper layers mayutilize a protocol (e.g., TCP or RTP) that can re-order data and providethe data in order to end applications. Furthermore, out-of-order PDCPSDUs may occur infrequently. It may be acceptable to deliver the PDCPSDUs out of order to upper layers as long as the HFN is kept insynchronization.

In a fourth processing scheme, the target eNB may re-assign forwardedPDCP SDUs with new PDCP SNs, as needed, in order to avoid loss of HFNsynchronization. For this processing scheme, the target eNB may processand send each forwarded PDCP SDU as it is received from the source eNB,without buffering the PDCP SDU. If the target eNB receives a forwardedPDCP SDU that is earlier than a PDCP SDU already transmitted to the UE,then the target eNB may re-assign this PDCP SDU with a new PDCP SN thatis later than the PDCP SN of the transmitted PDCP SDU.

For the example shown in FIG. 4, the target eNB may receive stateinformation indicating that PDCP SN of 4 was the last PDCP SN used bythe source eNB. The target eNB may receive PDCP SDU #3 from the sourceeNB, cipher this PDCP SDU with (HFN|3), and send the ciphered PDCP SDUto the UE. The target eNB may thereafter receive PDCP SDU #2 from thesource eNB. The target eNB may re-assign this PDCP SDU with a PDCP SN of5, cipher this PDCP SDU with (HFN|5), and send the ciphered PDCP SDU tothe UE. If the target eNB thereafter receives PDCP SDU #5 from thesource eNB, then the target eNB may re-assign this PDCP SDU with a PDCPSN of 6, cipher the PDCP SDU with (HFN|6), and send the ciphered PDCPSDU to the UE. The target eNB may thus re-assign each forwarded PDCP SDUfrom the source eNB in the same manner and may process and send the PDCPSDU to the UE.

The target eNB may re-assign PDCP SNs to forwarded PDCP SDUs that arereceived out of order from the source eNB. This re-assignment of PDCPSNs may allow the UE to correctly decipher the PDCP SDUs whilemaintaining HFN synchronization. The UE may deliver the PDCP SDUs out oforder to upper layers, which may be acceptable or desirable as describedabove. The target eNB may assign sequentially increasing PDCP SNs to newpackets received from the serving gateway.

The four processing schemes described above may avoid loss of HFNsynchronization. The target eNB may receive forwarded PDCP SDUs from thesource eNB and may send these PDCP SDUs using any one of the fourprocessing schemes described above. All four processing schemes wouldallow the UE to correctly decipher each PDCP SDU and maintain HFNsynchronization with the target eNB. The first and second processingschemes may allow the UE to deliver PDCP SDUs in order to upper layers.The third and fourth processing schemes may result in PDCP SDUs beingdelivered out of order to upper layers at the UE, which may beacceptable. HFN synchronization may also be achieved with otherprocessing schemes.

For clarity, the processing schemes have been described for PDCP SDUs inLTE. In general, these processing schemes may be used for packets at anylayer in a protocol stack and for any protocol. Also for clarity, theprocessing schemes have been described for handover of the UE from thesource eNB to the target eNB. These processing schemes may also be usedfor packets sent from the serving gateway to the serving eNB. Thepackets may be assigned sequence numbers, e.g., by a GPRS TunnelingProtocol (GTP). The serving eNB may process the packets from the servinggateway in similar manner as PDCP SDUs forwarded from another eNB.

FIG. 7 shows a design of a process 700 for sending packets in a wirelesscommunication system. Process 700 may be performed by a transmitter,which may be a base station/eNB for data transmission on the downlink ora UE for data transmission on the uplink. A sequence of packets may bereceived from a first entity at a second entity, e.g., via apacket-switched interface (block 812). Whether each packet in thesequence can be sent in order to a third entity may be determined (block814). Each packet that can be sent in order may be sent to the thirdentity (block 816). Each packet that cannot be sent in order may bediscarded (block 818). Each packet in the sequence may be eitherprocessed and sent or discarded as the packet is received from the firstentity, without buffering the packet at the second entity.

In one design, the first entity may be a source base station/eNB, thesecond entity may be a target base station/eNB, and the third entity maybe a UE. Blocks 812 to 818 may be performed by the target base stationduring handover of the UE from the source base station to the targetbase station. In another design, the first entity may be a servinggateway, the second entity may be a base station, and the third entitymay be a UE. The packets may comprise PDCP SDUs or some other type ofpackets.

In one design of block 812, a pointer may be maintained for a sequencenumber of a latest packet sent to the third entity. Whether a packet canbe sent in order may be determined based on the sequence number of thatpacket and the pointer. A packet cannot be sent in order if it has anearlier sequence number than the sequence number of a packet alreadysent to the third entity.

FIG. 8 shows a design of an apparatus 800 for sending packets in awireless communication system. Apparatus 800 includes a module 812 toreceive a sequence of packets from a first entity at a second entity, amodule 814 to determine whether each packet in the sequence can be sentin order to a third entity, a module 816 to send to the third entityeach packet that can be sent in order, and a module 818 to discard eachpacket that cannot be sent in order.

FIG. 9 shows a design of a process 900 for sending packets in a wirelesscommunication system. A sequence of packets may be received from a firstentity at a second entity, e.g., via a packet-switched interface (block912). The packets in the sequence may be re-ordered (block 914). There-ordered packets may be sent from the second entity to a third entity(block 916).

In one design, the first entity may be a source base station, the secondentity may be a target base station, and the third entity may be a UE.Blocks 912 to 916 may be performed by the target base station duringhandover of the UE from the source base station to the target basestation. In another design, the first entity may be a serving gateway,the second entity may be a base station, and the third entity may be aUE. The packets may comprise PDCP SDUs or some other type of packets.

In one design, the sequence of packets may be received by the secondentity during a time period determined by a re-ordering window. In onedesign of block 914, a timer may be started in response to receiving afirst packet in the sequence from the first entity. The first packet maybe buffered if it is not received in order. Subsequent packets notreceived in order from the first entity prior to expiration of the timermay also be buffered. The buffered packets may be re-ordered and sentafter expiration of the timer. Each packet received from the firstentity after expiration of the timer may be processed and sent withoutbuffering at the second entity.

FIG. 10 shows a design of an apparatus 1000 for sending packets in awireless communication system. Apparatus 1000 includes a module 1012 toreceive a sequence of packets from a first entity at a second entity, amodule 1014 to re-order the packets in the sequence, and a module 1016to send the re-ordered packets from the second entity to a third entity.

FIG. 11 shows a design of a process 1100 for sending packets in awireless communication system. A first packet with a first sequencenumber may be received (block 1112) and processed for transmission to areceiving entity (block 1114). A second packet with a second sequencenumber earlier than the first sequence number may be received (block1116). The second packet may be received out of order with respect tothe first packet. The second packet may be processed as if it is laterthan the first packet for transmission to the receiving entity (block1118). The first and second packets may be processed as each packet isreceived, without buffering these packets.

The receiving entity may be a UE. In one design, the first and secondpackets may be forwarded by a source base station to a target basestation during handover of the UE from the source base station to thetarget base station. In another design, the first and second packets maybe received by a base station from a serving gateway.

In one design of block 1114, the first packet may be ciphered with afirst count comprising an HFN and the first sequence number. In onedesign of block 1118, the HFN may be incremented in response toreceiving the second packet out of order. The second packet may beciphered with a second count comprising the incremented HFN and thesecond sequence number.

In another design of block 1118, the second packet may be re-assignedwith a third sequence number that is later than the first sequencenumber. The second packet may then be processed with the third sequencenumber for transmission to the receiving entity. A third packet with thethird sequence number may be received thereafter and may be re-assignedwith a fourth sequence number that is later than the third sequencenumber. The third packet may then be processed with the fourth sequencenumber for transmission to the receiving entity.

FIG. 12 shows a design of an apparatus 1200 for sending packets in awireless communication system. Apparatus 1200 includes a module 1212 toreceive a first packet with a first sequence number, a module 1214 toprocess the first packet for transmission to a receiving entity, amodule 1216 to receive a second packet with a second sequence numberearlier than the first sequence number, with the second packet beingreceived out of order with respect to the first packet, and a module1218 to process the second packet for transmission to the receivingentity, with the second packet being processed as if it is later thanthe first packet.

FIG. 13 shows a design of a process 1300 for receiving packets in awireless communication system. A sequence of packets may be receivedfrom a target base station at a UE (block 1312). The sequence of packetsmay be forwarded by a source base station to the target base stationduring handover of the UE from the source base station to the targetbase station. The target base station may (i) discard at least oneforwarded packet that cannot be sent in order to the UE, or (ii) receivethe forwarded packets out of order and re-order the packets prior totransmission to the UE, or (iii) receive a forwarded packet out of orderand process the packet as if it is received in order.

Each packet in the sequence may be processed to recover the packet(block 1314). In one design, an HFN may be incremented if a packet has asmaller sequence number than a sequence number of a preceding packet inthe sequence. The packet may be deciphered with a count comprising theHFN and the sequence number of the packet. Recovered packets may bedelivered to upper layers. One or more recovered packets may bedelivered out of order to the upper layers. The upper layers mayre-order the data in the recovered packets.

FIG. 14 shows a design of an apparatus 1400 for sending packets in awireless communication system. Apparatus 1400 includes a module 1412 toreceive a sequence of packets from a target base station at a UE, and amodule 1414 to process each packet in the sequence to recover thepacket.

The modules in FIGS. 8, 10, 12 and 14 may comprise processors,electronics devices, hardware devices, electronics components, logicalcircuits, memories, etc., or any combination thereof.

FIG. 15 shows a block diagram of a design of UE 110, source eNB/basestation 120, and target eNB/base station 122. At source eNB 120, atransmit processor 1514 a may receive traffic data from a data source1512 a and control information from a controller/processor 1530 a and ascheduler 1534 a. Controller/processor 1530 a may provide messages forhandover of UE 120. Scheduler 1534 a may provide an assignment ofdownlink and/or uplink resources for UE 120. Transmit processor 1514 amay process (e.g., encode and symbol map) the traffic data, controlinformation, and pilot and provide data symbols, control symbols, andpilot symbols, respectively. A modulator (MOD) 1516 a may process thedata, control, and pilot symbols (e.g., for OFDM) and provide outputsamples. A transmitter (TMTR) 1518 a may condition (e.g., convert toanalog, amplify, filter, and upconvert) the output samples and generatea downlink signal, which may be transmitted via an antenna 1520 a.

Target eNB 122 may similarly process traffic data and controlinformation for the UEs served by the eNB. The traffic data, controlinformation, and pilot may be processed by a transmit processor 1514 b,further processed by a modulator 1516 b, conditioned by a transmitter1518 b, and transmitted via an antenna 1520 b.

At UE 110, an antenna 1552 may receive the downlink signals from eNBs120 and 122. A receiver (RCVR) 1554 may condition (e.g., filter,amplify, downconvert, and digitize) a received signal from antenna 1552and provide input samples. A demodulator (DEMOD) 1556 may process theinput samples (e.g., for OFDM) and provide detected symbols. A receiveprocessor 1558 may process (e.g., symbol demap and decode) the detectedsymbols, provide decoded traffic data to a data sink 1560, and providedecoded control information to a controller/processor 1570.

On the uplink, a transmit processor 1582 may receive and process trafficdata from a data source 1580 and control information (e.g., forhandover) from controller/processor 1570. A modulator 1584 may processthe symbols from processor 1582 (e.g., for SC-FDM) and provide outputsamples. A transmitter 1586 may condition the output samples andgenerate an uplink signal, which may be transmitted via antenna 1552. Ateach eNB, the uplink signals from UE 110 and other UEs may be receivedby antenna 1520, conditioned by a receiver 1540, demodulated by ademodulator 1542, and processed by a receive processor 1544. Processor1544 may provide decoded traffic data to a data sink 1546 and decodedcontrol information to controller/processor 1530.

Controllers/processors 1530 a, 1530 b and 1570 may direct the operationat eNBs 120 and 122 and UE 110, respectively. Controller/processor 1530at each eNB may also perform or direct process 700 in FIG. 7, process900 in FIG. 9, process 1100 in FIG. 11, and/or other processes for thetechniques described herein. Controller/processor 1570 at UE 110 mayperform or direct process 1300 in FIG. 13 and/or other processes for thetechniques described herein. Memories 1532 a, 1532 b and 1572 may storedata and program codes for eNBs 120 and 122 and UE 110, respectively.Schedulers 1534 a and 1534 b may schedule UEs for communication witheNBs 120 and 122, respectively, and may assign resources to thescheduled UEs.

Those of skill in the art would understand that information and signalsmay be represented using any of a variety of different technologies andtechniques. For example, data, instructions, commands, information,signals, bits, symbols, and chips that may be referenced throughout theabove description may be represented by voltages, currents,electromagnetic waves, magnetic fields or particles, optical fields orparticles, or any combination thereof.

Those of skill would further appreciate that the various illustrativelogical blocks, modules, circuits, and algorithm steps described inconnection with the disclosure herein may be implemented as electronichardware, computer software, or combinations of both. To clearlyillustrate this interchangeability of hardware and software, variousillustrative components, blocks, modules, circuits, and steps have beendescribed above generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present disclosure.

The various illustrative logical blocks, modules, and circuits describedin connection with the disclosure herein may be implemented or performedwith a general-purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic device, discrete gate ortransistor logic, discrete hardware components, or any combinationthereof designed to perform the functions described herein. Ageneral-purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration.

The steps of a method or algorithm described in connection with thedisclosure herein may be embodied directly in hardware, in a softwaremodule executed by a processor, or in a combination of the two. Asoftware module may reside in RAM memory, flash memory, ROM memory,EPROM memory, EEPROM memory, registers, hard disk, a removable disk, aCD-ROM, or any other form of storage medium known in the art. Anexemplary storage medium is coupled to the processor such that theprocessor can read information from, and write information to, thestorage medium. In the alternative, the storage medium may be integralto the processor. The processor and the storage medium may reside in anASIC. The ASIC may reside in a user terminal. In the alternative, theprocessor and the storage medium may reside as discrete components in auser terminal.

In one or more exemplary designs, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on acomputer-readable medium. Computer-readable media includes both computerstorage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another. Astorage media may be any available media that can be accessed by ageneral purpose or special purpose computer. By way of example, and notlimitation, such computer-readable media can comprise RAM, ROM, EEPROM,CD-ROM or other optical disk storage, magnetic disk storage or othermagnetic storage devices, or any other medium that can be used to carryor store desired program code means in the form of instructions or datastructures and that can be accessed by a general-purpose orspecial-purpose computer, or a general-purpose or special-purposeprocessor. Also, any connection is properly termed a computer-readablemedium. For example, if the software is transmitted from a website,server, or other remote source using a coaxial cable, fiber optic cable,twisted pair, digital subscriber line (DSL), or wireless technologiessuch as infrared, radio, and microwave, then the coaxial cable, fiberoptic cable, twisted pair, DSL, or wireless technologies such asinfrared, radio, and microwave are included in the definition of medium.Disk and disc, as used herein, includes compact disc (CD), laser disc,optical disc, digital versatile disc (DVD), floppy disk and blu-ray discwhere disks usually reproduce data magnetically, while discs reproducedata optically with lasers. Combinations of the above should also beincluded within the scope of computer-readable media.

The previous description of the disclosure is provided to enable anyperson skilled in the art to make or use the disclosure. Variousmodifications to the disclosure will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other variations without departing from the spirit or scopeof the disclosure. Thus, the disclosure is not intended to be limited tothe examples and designs described herein but is to be accorded thewidest scope consistent with the principles and novel features disclosedherein.

1. A method for wireless communication, comprising: receiving a sequenceof packets from a first entity at a second entity; determining whethereach packet in the sequence can be sent in order to a third entity;sending to the third entity each packet that can be sent in order; anddiscarding each packet that cannot be sent in order.
 2. The method ofclaim 1, wherein the first entity is a source base station, the secondentity is a target base station, and the third entity is a userequipment (UE), and wherein the receiving, the determining, the sending,and the discarding are performed by the target base station duringhandover of the UE from the source base station to the target basestation.
 3. The method of claim 1, wherein the determining whether eachpacket in the sequence can be sent in order comprises maintaining apointer for a sequence number of a latest packet sent to the thirdentity, and determining whether each packet in the sequence can be sentin order to the third entity based on a sequence number of the packetand the pointer.
 4. The method of claim 1, wherein the determiningwhether each packet in the sequence can be sent in order comprisesdetermining that a packet cannot be sent in order to the third entity ifthe packet has an earlier sequence number than a sequence number of apacket already sent to the third entity.
 5. The method of claim 1,wherein the determining, the sending, and the discarding are performedas each packet in the sequence is received from the first entity,without buffering the packet at the second entity.
 6. The method ofclaim 1, wherein the sequence of packets comprises a sequence of PacketData Convergence Protocol (PDCP) service data units (SDUs).
 7. Themethod of claim 1, wherein the receiving the sequence of packetscomprises receiving the sequence of packets from the first entity via apacket-switched interface.
 8. An apparatus for wireless communication,comprising: at least one processor configured to receive a sequence ofpackets from a first entity at a second entity, to determine whethereach packet in the sequence can be sent in order to a third entity, tosend to the third entity each packet that can be sent in order, and todiscard each packet that cannot be sent in order.
 9. The apparatus ofclaim 8, wherein the at least one processor is configured to maintain apointer for a sequence number of a latest packet sent to the thirdentity, and to determine whether each packet in the sequence can be sentin order to the third entity based on a sequence number of the packetand the pointer.
 10. The apparatus of claim 8, wherein the at least oneprocessor is configured to determine that a packet cannot be sent inorder to the third entity if the packet has an earlier sequence numberthan a sequence number of a packet already sent to the third entity. 11.An apparatus for wireless communication, comprising: means for receivinga sequence of packets from a first entity at a second entity; means fordetermining whether each packet in the sequence can be sent in order toa third entity; means for sending to the third entity each packet thatcan be sent in order; and means for discarding each packet that cannotbe sent in order.
 12. The apparatus of claim 11, wherein the means fordetermining whether each packet in the sequence can be sent in ordercomprises means for maintaining a pointer for a sequence number of alatest packet sent to the third entity, and means for determiningwhether each packet in the sequence can be sent in order to the thirdentity based on a sequence number of the packet and the pointer.
 13. Theapparatus of claim 11, wherein the means for determining whether eachpacket in the sequence can be sent in order comprises means fordetermining that a packet cannot be sent in order to the third entity ifthe packet has an earlier sequence number than a sequence number of apacket already sent to the third entity.
 14. A computer program product,comprising: a computer-readable medium comprising: code for causing atleast one computer to receive a sequence of packets from a first entityat a second entity, code for causing the at least one computer todetermine whether each packet in the sequence can be sent in order to athird entity, code for causing the at least one computer to send to thethird entity each packet that can be sent in order, and code for causingthe at least one computer to discard each packet that cannot be sent inorder.
 15. A method for wireless communication, comprising: receiving asequence of packets from a first entity at a second entity; re-orderingthe packets in the sequence; and sending the re-ordered packets from thesecond entity to a third entity.
 16. The method of claim 15, wherein thefirst entity is a source base station, the second entity is a targetbase station, and the third entity is a user equipment (UE), and whereinthe receiving, the re-ordering, and the sending are performed by thetarget base station during handover of the UE from the source basestation to the target base station.
 17. The method of claim 15, whereinthe sequence of packets is received by the second entity during a timeperiod determined by a re-ordering window.
 18. The method of claim 15,wherein the re-ordering the packets comprises starting a timer inresponse to receiving a first packet in the sequence from the firstentity, buffering the first packet if not received in order from thefirst entity, buffering subsequent packets not received in order fromthe first entity prior to expiration of the timer, and re-ordering thebuffered packets after expiration of the timer.
 19. The method of claim18, further comprising: processing each packet received from the firstentity after expiration of the timer without buffering the packet. 20.The method of claim 18, further comprising: receiving a packet from thefirst entity after expiration of the timer; determining whether thepacket can be sent in order to the third entity; sending the packet tothe third entity if the packet can be sent in order; and discarding thepacket if cannot be sent in order.
 21. An apparatus for wirelesscommunication, comprising: at least one processor configured to receivea sequence of packets from a first entity at a second entity, tore-order the packets in the sequence, and to send the re-ordered packetsfrom the second entity to a third entity.
 22. The apparatus of claim 21,wherein the at least one processor is configured to start a timer inresponse to receiving a first packet in the sequence from the firstentity, to buffer the first packet if not received in order from thefirst entity, to buffer subsequent packets not received in order fromthe first entity prior to expiration of the timer, and to re-order thebuffered packets after expiration of the timer.
 23. The apparatus ofclaim 22, wherein the at least one processor is configured to processeach packet received from the first entity after expiration of the timerwithout buffering the packet.
 24. The apparatus of claim 22, wherein theat least one processor is configured to receive a packet from the firstentity after expiration of the timer, to determine whether the packetcan be sent in order to the third entity, to send the packet to thethird entity if the packet can be sent in order, and to discard thepacket if cannot be sent in order.
 25. A method for wirelesscommunication, comprising: receiving a first packet with a firstsequence number; processing the first packet for transmission to areceiving entity; receiving a second packet with a second sequencenumber earlier than the first sequence number, the second packet beingreceived out of order with respect to the first packet; and processingthe second packet for transmission to the receiving entity, the secondpacket being processed as if the second packet is later than the firstpacket.
 26. The method of claim 25, wherein the receiving entity is auser equipment (UE), and wherein the first and second packets areforwarded by a source base station to a target base station duringhandover of the UE from the source base station to the target basestation.
 27. The method of claim 25, further comprising: incrementing ahyper-frame number (HFN) in response to receiving the second packet outof order, the HFN being used to process the second packet.
 28. Themethod of claim 25, wherein the processing the first packet comprisesciphering the first packet with a first count comprising a hyper-framenumber (HFN) and the first sequence number, and wherein the processingthe second packet comprises incrementing the HFN in response toreceiving the second packet out of order, and ciphering the secondpacket with a second count comprising the incremented HFN and the secondsequence number.
 29. The method of claim 25, wherein the processing thesecond packet comprises re-assigning the second packet with a thirdsequence number later than the first sequence number, and processing thesecond packet with the third sequence number for transmission to thereceiving entity.
 30. The method of claim 29, further comprising:receiving a third packet with the third sequence number; re-assigningthe third packet with a fourth sequence number later than the thirdsequence number; and processing the third packet with the fourthsequence number for transmission to the receiving entity.
 31. The methodof claim 25, wherein the first and second packets are processed as eachpacket is received, without buffering the first and second packets. 32.An apparatus for wireless communication, comprising: at least oneprocessor configured to receive a first packet with a first sequencenumber, to process the first packet for transmission to a receivingentity, to receive a second packet with a second sequence number earlierthan the first sequence number, the second packet being received out oforder with respect to the first packet, and to process the second packetfor transmission to the receiving entity, the second packet beingprocessed as if the second packet is later than the first packet. 33.The apparatus of claim 32, wherein the at least one processor isconfigured to cipher the first packet with a first count comprising ahyper-frame number (HFN) and the first sequence number, to increment theHFN in response to receiving the second packet out of order, and tocipher the second packet with a second count comprising the incrementedHFN and the second sequence number.
 34. The apparatus of claim 32,wherein the at least one processor is configured to re-assign the secondpacket with a third sequence number later than the first sequencenumber, and to process the second packet with the third sequence numberfor transmission to the receiving entity.
 35. A method for wirelesscommunication, comprising: receiving a sequence of packets from a targetbase station at a user equipment (UE), wherein the sequence of packetsis forwarded by a source base station to the target base station duringhandover of the UE from the source base station to the target basestation, and wherein the target base station discards at least oneforwarded packet that cannot be sent in order to the UE, or receives theforwarded packets out of order and re-orders the packets prior totransmission to the UE, or receives a forwarded packet out of order andprocesses the packet as if received in order; and processing each packetin the sequence to recover the packet.
 36. The method of claim 35,wherein the processing each packet in the sequence comprisesincrementing a hyper-frame number (HFN) if the packet has a smallersequence number than a sequence number of a preceding packet in thesequence, and deciphering the packet with a count comprising the HFN andthe sequence number of the packet.
 37. The method of claim 35, furthercomprising: delivering recovered packets in the sequence to upperlayers, wherein at least one recovered packet is delivered out of orderto the upper layers; and re-ordering data in the recovered packets inthe upper layers.
 38. An apparatus for wireless communication,comprising: at least one processor configured to receive a sequence ofpackets from a target base station at a user equipment (UE), and toprocess each packet in the sequence to recover the packet, wherein thesequence of packets is forwarded by a source base station to the targetbase station during handover of the UE from the source base station tothe target base station, and wherein the target base station discards atleast one forwarded packet that cannot be sent in order to the UE, orreceives the forwarded packets out of order and re-orders the packetsprior to transmission to the UE, or receives a forwarded packet out oforder and processes the packet as if received in order.
 39. Theapparatus of claim 38, wherein for each packet in the sequence the atleast one processor is configured to increment a hyper-frame number(HFN) if the packet has a smaller sequence number than a sequence numberof a preceding packet in the sequence, and to decipher the packet with acount comprising the HFN and a sequence number of the packet.
 40. Theapparatus of claim 38, wherein the at least one processor is configuredto deliver recovered packets in the sequence to upper layers, to deliverat least one recovered packet out of order to the upper layers, and tore-order data in the recovered packets in the upper layers.